package com.example.infrastructure.parser;

import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @Author moyin
 * @Description TODO
 * @Date 2025/3/11 00:46
 * @Email 82400672@qq.com
 **/
@Data
public class PluginConfigModel {

    private String version;

    private IdeaVersion ideaVersion;

    private String id;

    private String name;

    private Vendor vendor;

    private String description;

    private List<String> dependencies;

    private ExtensionPoints extensionPoints;

    private Map<String, Object> extensions;

    @Data
    public static class IdeaVersion{
        private String sinceBuild;
        private String untilBuild;
    }

    @Data
    public static class Vendor {
        private String email;

        private String url;

        private String name;

    }

    @Data
    public static class ExtensionPoints {
        private List<ExtensionPoint> points;

    }

    @Data
    public static class ExtensionPoint {
        private String name;

        private String interfaceClass;

    }

}

